//==================================================
// 作 者：曾浩
// 日 期：2012-03-15
// 描 述：介绍本文件所要完成的功能以及背景信息等等
//==================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CoreFrame.Core.Orm;

namespace MarchEstate.Manager.BusinesEntity
{
	[Serializable]
	[Table(TableName = "WY_ItemFeeOrder", EntityType = EntityType.Table, IsGB = false)]
	public abstract class AbstractItemFeeOrder : CoreFrame.Business.AbstractBusines
	{
		private string _orderid;//
		/// <summary>
		/// 
		/// </summary>
        [Column(FieldName = "OrderID", DataKey = true, IsSingleQuote = true, Match = "Custom:Guid", IsInsert = false)]
		public string OrderID
		{
			get { return _orderid; }
			set { _orderid = value; }
		}

        private string _headid;//
        /// <summary>
        /// 
        /// </summary>
        [Column(FieldName = "HeadId", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public string HeadId
        {
            get { return _headid; }
            set { _headid = value; }
        }

		private string _ownerid;//业主编码
		/// <summary>
		/// 业主编码
		/// </summary>
		[Column(FieldName = "OwnerId", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string OwnerId
		{
			get { return _ownerid; }
			set { _ownerid = value; }
		}
		private string _ownername;//业主名称
		/// <summary>
		/// 业主名称
		/// </summary>
		[Column(FieldName = "OwnerName", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string OwnerName
		{
			get { return _ownername; }
			set { _ownername = value; }
		}
        private string _srccId;//
        /// <summary>
        /// 
        /// </summary>
        [Column(FieldName = "SrccId", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public string SrccId
        {
            get { return _srccId; }
            set { _srccId = value; }
        }

        private string _srccSonId;//
        /// <summary>
        /// 
        /// </summary>
        [Column(FieldName = "SrccSonId", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
        public string SrccSonId
        {
            get { return _srccSonId; }
            set { _srccSonId = value; }
        }

		private string _itemcode;//服务项目代码
		/// <summary>
		/// 服务项目代码
		/// </summary>
		[Column(FieldName = "ItemCode", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string ItemCode
		{
			get { return _itemcode; }
			set { _itemcode = value; }
		}
		private string _itemname;//项目名称
		/// <summary>
		/// 项目名称
		/// </summary>
		[Column(FieldName = "ItemName", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string ItemName
		{
			get { return _itemname; }
			set { _itemname = value; }
		}
		private string _statcode;//
		/// <summary>
		/// 统计分类代码
		/// </summary>
		[Column(FieldName = "StatCode", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public string StatCode
		{
			get { return _statcode; }
			set { _statcode = value; }
		}
		private DateTime _orderdate;//
		/// <summary>
		/// 记账时间
		/// </summary>
		[Column(FieldName = "OrderDate", DataKey = false, IsSingleQuote = true, Match = "", IsInsert = true)]
		public DateTime OrderDate
		{
			get { return _orderdate; }
			set { _orderdate = value; }
		}
		private decimal _totalfee;//金额
		/// <summary>
		/// 记账金额
		/// </summary>
		[Column(FieldName = "TotalFee", DataKey = false, IsSingleQuote = false, Match = "", IsInsert = true)]
		public decimal TotalFee
		{
			get { return _totalfee; }
			set { _totalfee = value; }
		}

        public abstract bool Save();

        /// <summary>
        /// 收银反写收银标识,还修改PreChargeFlag=0
        /// </summary>
        /// <param name="_orderID">费用记录ID</param>
        /// <param name="_chargeID">收银结算ID</param>
        /// <returns></returns>
        public abstract bool AlterChargeId(string _orderID, string _chargeID);

        /// <summary>
        /// 收银预算时修改费用记录的标识PreChargeFlag=1
        /// </summary>
        /// <param name="_orderID"></param>
        /// <returns></returns>
        public abstract bool AlterPreChargeFlag(string _orderID);


	}
}